package com.ehe.common.core.web.pojo.vo;

import com.ehe.common.core.enumeration.BooleanType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 基础VO
 * @param <PK>  主键泛型
 * @author jerry
 */
@Getter
@Setter
@ToString(callSuper = true)
public abstract class BaseVO<PK extends Serializable> extends IdVO<PK> {

    /** 创建时间 */
    @ApiModelProperty(value = "创建时间", position = 2)
    private LocalDateTime createdAt;

    /** 更新时间 */
    @ApiModelProperty(value = "更新时间", position = 3)
    private LocalDateTime modifiedAt;

    /** 创建人 */
    @ApiModelProperty(value = "创建人", position = 4)
    private String createdBy;

    /** 更新人 */
    @ApiModelProperty(value = "更新人", position = 5)
    private String modifiedBy;

    /** 版本（乐观锁） */
    @ApiModelProperty(value = "版本（乐观锁）", position = 6)
    private Integer version;

    /** 逻辑删除 */
    @ApiModelProperty(value = "逻辑删除", position = 7)
    private BooleanType isDelete;

}
